本发明公开了一种基于扩展主题图的知识资源组织方法,其特征在于,在知识资源及其内在主题关联关系形成的图架构基础上,对资源进行组织,并以此建立资源索引,提出一个基于主题的搜索架构。在该搜索架构中,采用文档的主题来组织索引项,结合文档主题的继承性、相关性、多义性这些内在联系以及多标签分类技术,对文档集合进行划分,采用基于阈值的分区选择方法选择合适的分区,来指导索引的构建和查询。在查询过程中,将查询路由至相关的索引分区获取查询结果,依据主题关系聚集组织结果,在保证查询结果质量的前提下,充分提高资源利用率和查询效率。并用索引分区聚集和分裂技术,进一步优化索引结构,提高查询结果质量和查询效率。
1.一种基于扩展主题图的知识资源组织方法,其特征在于,包括下述步骤:(1)主题关系表示在知识资源和主题两层关联形成的图架构基础上,引入知识单元,并分别建立知识单元与主题、知识单元与知识资源之间的联系,形成主题、知识单元、知识资源三层结构的扩展主题图架构,支持通过“主题”和“知识单元”两个层次对知识对象进行组织;扩展主题图架构用以下8维元组描述:(C,KE,KR,α,β,θ,γ)其中,C={c
1,c
2,...c
k}(k>0),是指面向特定领域的主题集合;KE={ke
1,ke
2,...,ke
n}(n>0),是指面向特定领域的知识单元集合;KR={kr
1,kr
2,...,kr
m}(m>0),是指面向特定领域的知识资源集合;α是集合C×C到集合{partxa0of,kindxa0of,instancexa0of,attributexa0of}的函数,即
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="479"/>表示集合C中主题之间的关系;其中,partxa0of,kindxa0of,instancexa0of,attributexa0of分别是主题之间的整体与局部、类与子类、类与实例、实体与属性四种类型;β是集合KE×KE到集合{reason,precondition,case,reference}的函数,即
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="594"/>表示集合KE中知识单元之间的关系;reason,precondition,case,reference分别是知识单元之间原因、前提、示例、参考四种关系类型;θ是集合C×KE到集合{0,1}的函数,即
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="514"/>表示主题与知识单元之间的关系;若θ(c
i,ke
j)=1(c
i∈T,ke
j∈KE),表示知识单元ke
j涉及概念c
i;若θ(c
i,ke
j)=0,则表示知识单元ke
j未涉及概念c
i;
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="51"/>是集合KE×KR到集合{0,1}的函数,即
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="552"/>表示知识单元与知识资源之间的关系;若
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="331"/>(ke
i∈KE,kr
j∈KR),表示知识资源kr
j中包含知识单元ke
i;若
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="354"/>则表示知识资源kr
j中不包含知识元ke
i;γ是集合R×KR到集合{0,1}的函数,表示知识单元与知识资源之间的关系;若γ(c
i,kr
j)=1(c
i∈C,kr
j∈KR),表示知识资源kr
j中包含主题c
i;若γ(c
i,kr
j)=1,则表示知识资源kr
j中不包含主题c
i;(2)主题分区索引结构根据步骤(1)扩展主题图架构,建立主题分区索引对知识单元和知识资xa0源进行组织,包括三点:其一,依据主题间的继承关系,将主题集划分为多层树状结构,继承关系按如下形式确定:设c
i和c
j为主题集合C={c
i|0≤i≤n}中的两个不同的主题,且i≠j,若对于任意属于c
j的文档同时属于c
j,则称c
i继承自c
j,或c
j被c
i继承,c
i是c
j的子主题,C中不满足上述关系的主题之间构成并列关系;主题之间的继承关系形成主题树,主题树的结构为:根节点作为主题全集标识,分支节点为无继承关系的主题或者具有被继承关系且具有继承关系的主题,叶子节点为具有被继承关系无继承关系的主题;以此主题树的不同分支对主题集分类,依据分类划分索引分区,形成分区索引结构;对于主题之间的继承关系形成的主题树,若一个主题集合C={c
i|0≤i≤n}满足如下条件,则称C存在一个主题分类树:1)集合中所有主题的继承关系构成树状结构,树中的节点表示主题,边表示主题之间的继承关系;2)根节点表示分类全集;3)每个分支节点拥有不少于一个子节点;其二,由主题分类树建立索引分区结构,该索引分区结构可描述为:利用文档与主题的相关性以及主题分类树,对文档主题进行逐层预测,通过主题划分模型获得预测分类集合,同时根据特征向量,确定与文档相关的主题,将待索引文档集合划分获得多个与主题相关的文档子集,并构建每个文档子集的索引,生成一个索引集合,将所有索引视为一个逻辑上统一的索引,则该索引集合中的每一个索引即为一个索引分区;索引分区中的每一条索引记录项都包含由主题词产生的索引项以及同主题词相关的文档集合;对于构建得到的索引分区,通过分区选择对其进行访问;其三,索引分区结构的控制信息用以控制主题分区访问,包括:1)主题受控词表;2)主题分类树;3)索引分区元数据;4)索引分区与主题对应关系表;(3)主题分区索引结构的构建方法Step1,主题索引项抽取与特征计算,初始化步骤(2)所述的受控主题词xa0表,主题树,分区元数据,分区与主题对应关系表,构建文本索引模块,视知识单元和知识资源均为由受控主题词构成的文档,生成主题词特征向量,采用信息增益进行特征计算,将主题词作为索引词;Step2,主题预测与分区选择,根据Step1所得主题特征,以及主题的继承性和主题相关性,对于主题分类树C中节点,对应的主题特征集合V={v
i|0≤i≤n},进行主题预测;其中,主题特征集合V通过特征评估函数f作用于主题集合C和文档集合D来获得;特征评估函数用于确定权值,基于信息增益算法和TF-IDF来实现;对于主题c,由于f
c(C,D,u,c)=v
c,因而对所有非叶子节点选择的主题特征集合为V=f(C,D,u),u为特征向量的维度;定义
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="456"/>为基于主题树C中任意节点c对应的特征向量v
c及文档子集D
c训练的多标签分类器集合;F为主题划分模型的算子,即主题分类树C与分类器集合L的映射关系;主题划分模型的构建过程为:1)初始化:构建主题词表T,定义分类器集合L;2)调用基于信息增益的主题特征抽取算法,构建主题特征集合V=f(C,D);3)对于主题分类树C中的每一个主题c,利用信息增益算法对c的文档子集D
c中的所有文档抽取主题特征,生成主题特征的集合V
c,然后调用分类算法,基于V
c训练分类器l
c,并将其添加至分类器集合L;4)构建主题分类树C与分类器集合L的映射关系,即主题划分模型F;由上述定义的L多标签分类器和主题划分模型构建算法可得第r层分类算子的分类操作为:
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="487"/>式中:d——待预测的文档;u——特征向量的维度;
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="52"/>——主题划分模型对文本预测的标签及其概率集合;基于上式,由于最后一层主题不必再次进行划分,因而只需预测至次底xa0层,次底层分类集合的预测集合为
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="502"/>最后导出主题划分模型:
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="700"/>式中:
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="54"/>——主题划分模型对文本预测的标签及其概率集合;h——主题分类树的高度;
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="57"/>——第i层预测结果;f——特征向量评估函数;u——特征向量维度;L——多标签分类器集合;p
i——主题划分模型对文本预测的标签的概率基于上述主题分类模型,以预测分类的排序为基础,通过多标签分类器的链式结构将主题划分模型的一条链组合起来,分类的预测从链的头部开始,至尾部结束,通过模型的构建获取主题划分模型的全部要素;基于上述主题划分模型的构建及算法,d为待预测的文档,文档集合划分的方法如下:1)构建主题词表T,构建分类器集合L;2)根据主题分类树,设定起始预测层数r=1,第r-1层的预测分类集合为xa0
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="129"/>则
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="322"/>
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="72"/>即为第0层的预测分类集合,“+”号为分类体系的节点;3)对多标签分类进行递归预测:从第一层开始,对于0
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="190"/>对于
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="78"/>中的每一个分类
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="54"/>调用基于信息增益的主题特征抽取算法,构建
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="276"/>然后从分类器集合中获取
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="40"/>的分类器lc;接着调用lc对vd进行预测分类,获得预测分类集合
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="105"/>其中i为特征向量中的第i个元素,最后将各层所得的预测分类集合统一起来即为最后的文档集合划分;基于上述文档集合划分结果,采用基于阈值的分区选取方法,分区选取方法如下:1)对于主题分类树C中的每个元素,查询整个主题分类树,获取该元素在C中的子节点集合,倘若C与其子节点集合的交集不为空,则认为该元素xa0所在节点为冗余节点,从C中将其删除;2)在完成上述步骤之后,对于主题分类树C中的每一元素,根据所建立的主题划分模型,获取该元素中的概率pi,将其与阈值ε进行比较,倘若pi≥ε,则将该元素添加到预测分类子集中,依次进行循环直至遍历完整个主题分类树中的元素;Step3,主题分区索引结构的构建构建主题分区索引,依据主题分类树及分区预测结果,选择对应主题,查找分区与主题对应关系表,确定分区,构建索引写入分区,更新索引分区及其元数据;其主要方法如下:主题分区索引构建算法:1)初始化全局信息:构建索引词表,存储文档集合中出现的主题词,建立主题与索引模块之间的映射;2)初始化构建索引模块:对于主题分类树中的每一个主题都做如下操作:构建索引模块,然后调用索引模块,初始化索引写入器资源池、索引读取器资源池,以及索引查询器资源池,最后注册索引模块;3)生成与更新索引:读取每一个属于文档集合中的文档,转换为主题词流,对主题词中的每一个主题词做以下操作:执行前述特征获取方法,调用主题划分模型对该文档进行主题分类预测,获得预测集合,调用基于阀值的分区选取算法,对预测进行筛选,将表示该文档的索引项向量发送到对应的索引分区所在的索引模块,添加至选取得索引中;对于每一个选取的索引块,选取索引项中所有的本模块管理的分类,从索引写入器资源池中选择写入器,同时利用写入器将索引项添加至对应的索引分区;(4)采用索引分区的分裂与聚合方法对构建的主题索引进行优化修正,包括如下步骤:其一,索引分区的分裂过程:1)初始化:构建两个经过分裂的分区,并初始化索引写入器资源池;同时构建原索引分区的读取器;2)读取原索引分区的索引项,进行基于话题模型的主题词抽取,对于原索引分区中每一个索引项,读取其当前索引项的内容,生成未降维的特征向量,应用基于话题模型的Latentxa0Dirichletxa0Allocation,(LDA)算法对xa0该特征向量进行聚类,添加聚类标签;3)对于原索引分区中的每个索引项,从索引写入器资源池中选择当前索引项的标签对应于两个经过分裂的索引分区的索引写入器中,将索引项添加到其管理的索引分区;4)获取分裂后的两个索引分区,并选取索引模块,将分裂后的索引分区分发至该索引模块;5)最后更新控制模块的分区映射;其二,分区的聚合,具体聚合过程如下:1)初始化:对于主题及其负载的映射
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="163"/>中的每一个元素获取其负载值,与负载阈值进行比较,将负载值低于负载阈值的主题添加至一个临时列表中;2)选取临时列表中主题的最小负载分区,进行聚合:对于临时列表中的每一个元素,读取主题及其分区的映射Mappartition,获取该元素对应的分区列表,然后遍历该列表,接着读取索引分区及其负载的映射
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="205"/>获取n个负载的最小分区,将这n个分区合并为新的索引分区,然后删掉这n个分区;3)根据索引分区及其负载的映射
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="176"/>选取索引模块,将合并好的分区发送至该索引模块;4)更新控制模块中主题及其负载的映射
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="194"/>索引分区及其负载的映射xa0
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="180"/>以及主题及其分区的映射Mappartition。
2.如权利要求1所述的基于扩展主题图的知识资源组织方法,其特征在于,所述步骤(2)Step1中的特征计算如下:第一步,计算主题词c的信息增益a)确定主题词频权值:对于主题词t,依据词的出现,词频权值按下式确定:
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="523"/>b)基于前述主题分类树的主题集合中,主题集中的主题c的子主题表示为Cc选取信息增益方法作为特征向量评估函数,将信息增益方法应用于一个文档集合的子集,利用上述词频权值计算其熵为:
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="700"/>c)以词t出现为条件,主题c的条件熵:
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="700"/>d)主题词信息增益:IG(Tc)=Entropy(Cc)-Entropy(Cc|Tc);上述公式中,各符号的含义如下:Cc:主题c的子主题集合;Tc:主题c中对于给定的术语t出现或不出现的随机变量;P(C(c,i)):主题c的子主题集合中出现术语t的概率;
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="64"/>术语t不出现;第二步,进行特征选择1)构建全局主题词表,依据如下规则确定频率参数的值:a)分类‐文档频:定义函数dfc:C→Nc,表示分类文档频;b)主题词‐文档频:定义函数dft:T→Nt,表示术语文档频;c)主题词‐抽象文档频:定义函数dfc,t:(C×T)→Nc,t,记录术语‐分类对的文档频;2)对于文本集合中的每个文档d做以下操作来生成主题词向量及分类‐文档词频记录:a)读取该文档,经过字符串匹配将其解析成主题词列表和分类集合;b)建立文档d的词表以存储文档d中出现的主题词集合,对于主题词列表中的每一个主题词做以下操作:i.通过对应文本集合的词表和停词表对该文档中的每个主题词进行过滤;ii.记录好分类文档频,令dfc(Cd)=dfc(Cd)+1xa03)对于文档主题的特征向量Vd中的每个词t′做如下操作,得到主题词及主题词‐分类对文档频的记录:a)记录主题词的文档频:令dft(Td)=dft(Td)+1;b)记录主题词‐分类对的文档频:对于dfc,t(Cd×Td)的每一列定义列向量(分类词频)x,令x=x+e,其中e为单位向量;4)采用如下步骤获取主题特征:a)基于前述方法计算主题词的信息增益,对于属于主题分类树中的任意主题c,先判定所选中的主题c不是叶子结点,而且对应的文档集合中的元素数量是否非空;倘若所选中的主题c不是叶子节点,则对于所有属于词表的主题词,获取dfc(Cc),计算以c为根的分类系统Cc的初始熵Entropy(Cc);b)然后获取dft(t)和dfc,t(Ct×[t]),计算在给定主题词t后Cc的条件熵Entropy(Cc|t),依照下述公式计算出IG(t);IG(Tc)=Entropy(Cc)-Entropy(Cc|Tc);c)最后对于任意属于主题词表中的主题词t,选取IG(t)最大的前u个主题词,组成特征向量,添加入特征向量集合中去,最终得到整个特征向量的集合V即为所得到的主题特征。技术领域
本发明涉及教育领域知识资源的组织和检索技术,特别是涉及一种主题关系表示、主题分区索引结构与构建,索引分区优化的知识资源组织方法。
背景技术
海量教育资源的组织与查询对于大多数学习者和网络学习环境来说是一项必须的资源服务,其中涉及的问题至今仍是业界研究和关注的重点。根据目前教育领域数据急剧扩张,以及用户对资源上下文关联信息的需求的明显需求,本发明提出了基于扩展主题图结构的资源关联表示方法和分布式主题分区索引方法,通过扩展主题图表示资源间的主题关系,基于主题间关联关系所呈现出的继承性,对资源索引进行分区,解决了海量教育资源的组织访问过程中的主题关联,主题聚集等若干关键问题。申请人经过查新,找到三篇与本发明相关的,分别属于资源管理领域与分布式索引领域的专利,他们分别是:1)网络资源搜索管理系统及网络资源搜索管理方法【200810167134】2)分布式列存储数据库索引建立、查询方法及装置与系统【200810225486】3)分布式索引文件的检索方法、检索系统及检索服务器【200710112451】以上三种专利技术存在以下几方面的问题:1)专利1中从搜索过程考虑所涉及的搜索池、搜索功能管理模块、搜索结果展示模块和搜索响应模块提出一个基于搜索过程的搜索架构。其缺点是,它仅提出了一个基于搜索过程的搜索架构,没有考虑知识资源的组织方式以及资源内部的各种关联属性,同时它也没有设计出与它所提出的搜索架构相适应的索引结构。2)专利2是基于文档中的关键词映射至相应的列来组织索引结构改善查询效率。其缺点是:所用关键词并不能很好的概括文档的内容,没有考虑到文本主题之间的内在联系以及之间的差异。3)专利3是将每一个查询检索路由至每一个索引分区进行查询检索,从而提高并发处理速度。其缺点是:每一个查询检索都路由到所有的分区,带有很大的盲目性,浪费资源,同时使得大量检索的时候效率不高。
发明内容
本发明的目的是提供一种既考虑文本主题内在联系、主题的相关性、继承性及多义性,又考虑查询效率、资源利用率的基于扩展主题图结构的资源关联表示和主题分区资源索引方法。为达到以上目的,本发明是采取如下技术方案予以实现的:一种基于扩展主题图的知识资源组织方法,其特征在于,包括下述步骤:(1)主题关系表示在知识资源和主题两层关联形成的图架构基础上,引入知识单元,并分别建立知识单元与主题、知识单元与知识资源之间的联系,形成主题、知识单元、知识资源三层结构的扩展主题图架构,支持通过“主题”和“知识单元”两个层次对知识对象进行组织;扩展主题图架构用以下8维元组描述:(C,KE,KR,α,β,θ,γ)其中,C={c1,c2,...ck}(k>0),是指面向特定领域的主题集合;KE={ke1,ke2,...,ken}(n>0),是指面向特定领域的知识单元集合;KR={kr1,kr2,...,krm}(m>0),是指面向特定领域的知识资源集合;α是集合C×C到集合{partxa0of,kindxa0of,instancexa0of,attributexa0of}的函数,即
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="484"/>表示集合C中主题之间的关系;其中,partxa0of,kindxa0of,instancexa0of,attributexa0of分别是主题之间的整体与局部、类与子类、类与实例、实体与属性四种类型;β是集合KE×KE到集合{reason,precondition,case,reference}的函数,即
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="599"/>表示集合KE中知识单元之间的关系;reason,precondition,case,reference分别是知识单元之间原因、前提、示例、参考四种关系类型;θ是集合C×KE到集合{0,1}的函数,即
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="514"/>表示主题与知识单元之间的关系;若θ(ci,kej)=1(ci∈T,kej∈KE),表示知识单元kej涉及概念ci;若θ(ci,kej)=0,则表示知识单元kej未涉及概念ci;
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="47"/>是集合KE×KR到集合{0,1}的函数,即
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="548"/>表示知识单元与知识资源之间的关系。若
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="334"/>(kei∈KE,krj∈KR),表示知识资源krj中包含知识单元kei;若
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="350"/>则表示知识资源krj中不包含知识元kei;γ是集合R×KR到集合{0,1}的函数,表示知识单元与知识资源之间的关系。若γ(ci,krj)=1(ci∈C,krj∈KR),表示知识资源krj中包含主题ci;若γ(ci,krj)=1,则表示知识资源krj中不包含主题ci;(2)主题分区索引结构根据步骤(1)扩展主题图架构,建立主题分区索引对知识单元和知识资源进行组织,包括三点:其一,依据主题间的继承关系,将主题集划分为多层树状结构,继承关系按如下形式确定:设ci和cj为主题集合C={ci|0≤i≤n}中的两个不同的主题,且i≠j,若对于任意属于ci的文档同时属于cj,则称ci继承自cj,或cj被ci继承,ci是cj的子主题,C中不满足上述关系的主题之间构成并列关系主题之间的继承关系形成主题树,主题树的结构为:根节点作为主题全集标识,分支节点为无继承关系的主题或者具有被继承关系且具有继承关系的主题,叶子节点为具有被继承关系无继承关系的主题;以此主题树的不同分支对主题集分类,依据分类划分索引分区,形成分区索引结构;对于主题之间的继承关系形成的主题树,若一个主题集合C={ci|0≤i≤n}满足如下条件,则称C存在一个主题分类树:1)集合中所有主题的继承关系构成树状结构,树中的节点表示主题,边表示主题之间的继承关系;2)根节点表示分类全集;3)每个分支节点拥有不少于一个子节点;其二,由主题分类树建立索引分区结构,该索引分区结构可描述为:利用文档与主题的相关性以及主题分类树,对文档主题进行逐层预测,通过主题划分模型获得预测分类集合,同时根据特征向量,确定与文档相关的主题,将待索引文档集合划分获得多个与主题相关的文档子集,并构建每个文档子集的索引,生成一个索引集合,将所有索引视为一个逻辑上统一的索引,则该索引集合中的每一个索引即为一个索引分区;索引分区中的每一条索引记录项都包含由主题词产生的索引项以及同主题词相关的文档集合;对于构建得到的索引分区,通过分区选择对其进行访问;其三,索引分区结构的控制信息用以控制主题分区访问,包括:1)主题受控词表;2)主题分类树;3)索引分区元数据;4)索引分区与主题对应关系表;(3)主题分区索引结构的构建方法Step1,主题索引项抽取与特征计算,初始化步骤(2)所述的受控主题词表,主题树,分区元数据,分区与主题对应关系表,构建文本索引模块,视知识单元和知识资源均为由受控主题词构成的文档,生成主题词特征向量,采用信息增益进行特征计算,将主题词作为索引词;Step2,主题预测与分区选择,根据Step1所得主题特征,以及主题的继承性和主题相关性,对于主题分类树C中节点,对应的主题特征集合V={vi|0≤i≤n},进行主题预测;其中,主题特征集合V通过特征评估函数f作用于主题集合C和文档集合D来获得;特征评估函数用于确定权值,基于信息增益算法和TF-IDF来实现;对于主题c,由于fc(C,D,u,c)=vc,因而对所有非叶子节点选择的主题特征集合为V=f(C,D,u),u为特征向量的维度;定义L={li|0≤i≤n}为基于主题树C中任意节点c对应的特征向量vc及文档子集Dc训练的多标签分类器集合;F为主题划分模型的算子,即主题分类树C与分类器集合L的映射关系;主题划分模型的构建过程为:1)初始化:构建主题词表T,定义分类器集合L;2)调用基于信息增益的主题特征抽取算法,构建主题特征集合V=f(C,D);3)对于主题分类树C中的每一个主题c,利用信息增益算法对c的文档子集Dc中的所有文档抽取主题特征,生成主题特征的集合Vc,然后调用分类算法,基于Vc训练分类器lc,并将其添加至分类器集合L;4)构建主题分类树C与分类器集合L的映射关系,即主题划分模型F;由上述定义的L多标签分类器和主题划分模型构建算法可得第r层分类算子的分类操作为: C ^ r = F r ( d , f , u , L , C ^ r - 1 ) ]]>式中:d——待预测的文档;u——特征向量的维度;
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="55"/>——主题划分模型对文本预测的标签及其概率集合;基于上式,由于最后一层主题不必再次进行划分,因而只需预测至次底层,次底层分类集合的预测集合为
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="597"/>最后导出主题划分模型: C ^ = ∪ i = 0 h - 1 C ^ i = F ( d , f , u , L , C ) , ∀ ( c i , p i ) ∈ C ^ . s . t . c i ∈ C ( 0 ≤ i ≤ n ) ]]>式中:
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="51"/>——主题划分模型对文本预测的标签及其概率集合;h——主题分类树的高度;
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="59"/>——第i层预测结果;f——特征向量评估函数;u——特征向量维度;L——多标签分类器集合;pi——主题划分模型对文本预测的标签的概率;基于上述主题分类模型,以预测分类的排序为基础,通过多标签分类器的链式结构将主题划分模型的一条链组合起来,分类的预测从链的头部开始,至尾部结束,通过模型的构建获取主题划分模型的全部要素;基于上述主题划分模型的构建及算法,d为待预测的文档,文档集合划分的方法如下:1)构建主题词表T,构建分类器集合L;2)根据主题分类树,设定起始预测层数r=1,第r-1层的预测分类集合为
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="126"/>则
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="410"/>即为第0层的预测分类集合,“+”号为分类体系的节点;3)对多标签分类进行递归预测:从第一层开始,对于0<r<h,第r层的分类预测过程如下:设定
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="190"/>对于
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="98"/>中的每一个分类
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="48"/>调用基于信息增益的主题特征抽取算法,构建
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="274"/>然后从分类器集合L中获取
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="30"/>的分类器lc;接着调用lc对vd进行预测分类,获得预测分类集合
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="94"/>其中i为特征向量中的第i个元素,最后将各层所得的预测分类集合统一起来即为最后的文档集合划分;基于上述文档集合划分结果,采用基于阈值的分区选取方法,分区选取方法如下:1)对于主题分类树C中的每个元素,查询整个主题分类树,获取该元素在C中的子节点集合,倘若C与其子节点集合的交集不为空,则认为该元素所在节点为冗余节点,从C中将其删除;2)在完成上述步骤之后,对于主题分类树C中的每一元素,根据所建立的主题划分模型,获取该元素中的概率pi,将其与阈值ε进行比较,倘若pi≥ε,则将该元素添加到预测分类子集中,依次进行循环直至遍历完整个主题分类树中的元素;Step3,主题分区索引结构的构建构建主题分区索引,依据主题分类树及分区预测结果,选择对应主题,查找分区与主题对应关系表,确定分区,构建索引写入分区,更新索引分区及其元数据;其主要方法如下:主题分区索引构建算法:1)初始化全局信息:构建索引词表,存储文档集合中出现的主题词,建立主题与索引模块之间的映射;2)初始化构建索引模块:对于主题分类树中的每一个主题都做如下操作:构建索引模块,然后调用索引模块,初始化索引写入器资源池、索引读取器资源池,以及索引查询器资源池,最后注册索引模块;3)生成与更新索引:读取每一个属于文档集合中的文档,转换为主题词流,对主题词中的每一个主题词做以下操作:执行前述特征获取方法,调用主题划分模型对该文档进行主题分类预测,获得预测集合,调用基于阀值的分区选取算法,对预测进行筛选,将表示该文档的索引项向量发送到对应的索引分区所在的索引模块,添加至选取得索引中;对于每一个选取的索引块,选取索引项中所有的本模块管理的分类,从索引写入器资源池中选择写入器,同时利用写入器将索引项添加至对应的索引分区;(4)采用索引分区的分裂与聚合方法对构建的主题索引进行优化修正,包括如下步骤:其一,索引分区的分裂过程:1)初始化:构建两个经过分裂的分区,并初始化索引写入器资源池;同时构建原索引分区的读取器;2)读取原索引分区的索引项,进行基于话题模型的主题词抽取,对于原索引分区中每一个索引项,读取其当前索引项的内容,生成未降维的特征向量,应用基于话题模型的Latentxa0Dirichletxa0Allocation,(LDA)算法对该特征向量进行聚类,添加聚类标签;3)对于原索引分区中的每个索引项,从索引写入器资源池中选择当前索引项的标签对应于两个经过分裂的索引分区的索引写入器中,将索引项添加到其管理的索引分区;4)获取分裂后的两个索引分区,并选取索引模块,将分裂后的索引分区分发至该索引模块;5)最后更新控制模块的分区映射;其二,分区的聚合,具体聚合过程如下:1)初始化:对于主题及其负载的映射
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="158"/>中的每一个元素获取其负载值,与负载阈值进行比较,将负载值低于负载阈值的主题添加至一个临时列表中;2)选取临时列表中主题的最小负载分区,进行聚合:对于临时列表中的每一个元素,读取主题及其分区的映射Mappartition,获取该元素对应的分区列表,然后遍历该列表,接着读取索引分区及其负载的映射
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="199"/>获取n个负载的最小分区,将这n个分区合并为新的索引分区,然后删掉这n那个分区;3)根据索引分区及其负载的映射
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="172"/>选取索引模块,将合并好的分区发送至该索引模块;4)更新控制模块中主题及其负载的映射
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="187"/>索引分区及其负载的映射
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="178"/>以及主题及其分区的映射Mappartition。以上方法所述步骤(2)Step1中的特征计算如下:第一步,计算主题词的信息增益a)确定主题词频权值:对于主题词t,依据词的出现,词频权值按下式确定:
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="520"/>b)基于前述主题分类树的主题集合中,主题集中的主题c的子主题表示为Cc,选取信息增益方法作为特征向量评估函数,将信息增益方法应用于一个文档集合的子集,利用上述词频权值计算其熵为: Entropy ( T c ) = - Σ i = 1 n p ( C c , i ) · log 2 p ( C c , i ) ]]>c)以词t出现为条件,主题c的条件熵: Entropy ( C c | T c ) = - Σ i = 1 n P ( c c , i | t ) · log 2 P ( C c , i | t ) - Σ i = 1 n P ( C c , i | t ‾ ) · log 2 P ( C c , i | t ‾ ) ]]>d)主题词信息增益:IG(Tc)=Entropy(Cc)-Entropy(Cc|Tc);上述公式中,各符号的含义如下:Cc:主题c的子主题集合;Tc:主题c中对于给定的术语t出现或不出现的随机变量;P(C(c,i)):主题c的子主题集合中出现术语t的概率;
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="64"/>术语t不出现;第二步,进行特征选择1)构建全局主题词表,依据如下规则确定频率参数的值:a)分类‐文档频:定义函数dfc:C→Nc,表示分类文档频;b)主题词‐文档频:定义函数dft:T→Nt,表示术语文档频;c)主题词‐抽象文档频:定义函数dfc,t:(C×T)→Nc,t,记录术语‐分类对的文档频;2)对于文本集合中的每个文档d做以下操作来生成主题词向量及分类‐文档词频记录:a)读取该文档,经过字符串匹配将其解析成主题词列表和分类集合;b)建立文档d的词表以存储文档d中出现的主题词集合,对于主题词列表中的每一个主题词做以下操作:i.通过对应文本集合的词表和停词表对该文档中的每个主题词进行过滤;ii.记录好分类文档频,令dfc(Cd)=dfc(Cd)+1;3)对于文档主题的特征向量Vd中的每个词t′做如下操作,得到主题词及主题词‐分类对文档频的记录:a)记录主题词的文档频:令dft(Td)=dft(Td)+1;b)记录主题词‐分类对的文档频:对于dfc,t(Cd×Td)的每一列定义列向量(分类词频)x,令x=x+e,其中e为单位向量;4)采用如下步骤获取主题特征:a)基于前述方法计算主题词的信息增益,对于属于主题分类树中的任意主题c,先判定所选中的主题c不是叶子结点,而且对应的文档集合中的元素数量是否非空;倘若所选中的主题c不是叶子节点,则对于所有属于词表的主题词,获取dfc(Cc),计算以c为根的分类系统Cc的初始熵Entropy(Cc);b)然后获取dft(t)和dfc,t(Ct×[t]),计算在给定主题词t后Cc的条件熵Entropy(Cc|t),依照下述公式计算出IG(t);IG(Tc)=Entropy(Cc)-Entropy(Cc|Tc);c)最后对于任意属于主题词表中的主题词t,选取IG(t)最大的前u个主题词,组成特征向量,添加入特征向量集合中去,最终得到整个特征向量的集合V即为所得到的主题特征。与现有技术相比,本发明是在知识资源及其内在主题关联关系形成的图架构基础上,对资源进行组织,并以此建立资源索引,提出一个基于主题的搜索架构。在该搜索架构中,我们采用文档的主题来组织索引项,结合文档主题的继承性、相关性、多义性这些内在联系以及多标签分类技术,对文档集合进行划分,采用基于阈值的分区选择方法选择合适的分区,来指导索引的构建和查询。在查询过程中,本发明将查询路由至相关的索引分区获取查询结果,依据主题关系聚集组织结果,在保证查询结果质量的前提下,充分提高资源利用率和查询效率。最后,我们采用了索引分区聚集和分裂技术,进一步优化了索引结构,提高查询结果质量和查询效率。
附图说明
图1是本发明方法的步骤流程图。
具体实施方式
以下结合附图对本发明作进一步的详细说明。如图1所示,一种基于扩展主题图的知识资源组织方法,包括以下几方面的内容:1.构建主题树;研究目的:主题图提供主题之间关联的表示方法,需要设计一种方法将特定的主题关联映射为主题间的层次关系,以此层次关系建立分类体系,为知识资源依主题划分提供支持。研究背景:知识资源的主题存在继承特性,这种继承关系使知识主题间具有层次关系,如何利用主题间的层次关系组织知识资源需要设计这题分类体系。本发明的解决策略:设ci和cj为主题集合C={ci|0≤1≤n}中的两个不同的主题,且i≠j,若对于任意属于ci的文档同时属于ci,则称ci继承自cj,或cj被ci继承,ci是cj的子主题,C中不满足上述关系的主题之间构成并列关系。依据前述继承关系,将主题集划分为多层树状结构:1)根,主题全集标识;2)分支,为无上层关系的主题或者具有上层关系且有下层关系的主题;3)叶子,具有上层关系无下层关系的主题。基于上述结构从而形成分类体系,定义主题树:若一个主题分类树C={ci|0≤i≤n}满足如下条件:1)集合中所有元素的继承关系构成树状结构,树中的节点表示主题,边表示主题之间的继承关系;2)根节点表示分类全集;3)每个节点拥有多个子节点;则称上述结构是一个主题树;以此体系作为索引分区的基础结构。2.特征选择研究目的:利用主题的特征,对知识资源的特征进行特征选择,是知识资源特征表示的区分度更高。问题背景:知识资源包含的主题,反映了知识资源与主题分类体系中主题之间的相关性;依据知识资源全集选取的特征向量时,对知识资源的区分度会有所降低,因而结合主题特征对其进行调整。本发明的解决策略:选取信息增益方法作为特征向量评估函数。信息增益方法需要观测两个参数:一是分类系统的类别信息,也即主题树;二是影响分类系统的条件,在本发明中体现为主题词的出现。以一段文本作为一个样本空间,“词的出现”是一个拥有两种状态的随机变量;将主题词作为索引词,特征计算如下:第一步:确定主题词的信息增益a)确定主题词频权值:对于主题词t,依据词的出现,词频权值按下式确定:
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="478"/>b)基于前述主题树的主题集合中,主题集中的主题c的子主题表示为Cc,选取信息增益方法作为特征向量评估函数,将信息增益方法应用于一个文档集合的子集,利用上述词频权值计算其熵为: Entropy ( T c ) = - Σ i = 1 n p ( C c , i ) · log 2 p ( C c , i ) ]]>c)词t出现为条件的主题c的条件熵: Entropy ( C c | T c ) = - Σ i = 1 n P ( c c , i | t ) · log 2 P ( C c , i | t ) - Σ i = 1 n P ( C c , i | t ‾ ) · log 2 P ( C c , i | t ‾ ) ]]>d)主题词信息增益:IG(Tc)=Entropy(Cc)-Entropy(Cc|Tc);上述公式中,各符号的含义如下:Cc:主题c的子主题集合;Tc:主题c中对于给定的术语t出现或不出现的随机变量;P(C(c,i)):主题c的子主题集合中出现术语t的概率;
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="64"/>术语t不出现。第二步:特征选择对于给定主题树C={ci|0≤i≤n},n为C的元素个数,给定一个评估函数f(在此选取信息增益算法),f对任意ci的文档子集抽取特征向量,即为主题ci的主题特征,文档集中的每一个文档,采用主题特征表示。主题特征的具体获取方法如下:1)构建全局主题词表,依据如下规则确定个频率参数的值:a)分类‐文档频:定义函数dfc:C→Nc,表示分类文档频;b)主题词‐文档频:定义函数dft:T→Nt,表示术语文档频;c)主题词‐抽象文档频:定义函数dfc,t:(C×T)→Nc,t,记录术语‐分类对的文档频。2)对于文本集合中的每个文档d做以下操作来生成主题词向量及分类‐文档词频记录:a)读取该文档,解析文本,计算词频和文档频,采用字符串匹配的方法将其表示成主题词和主题分类组合成的特征向量;b)建立文档d的词表以存储抽象文档d中出现的主题词集合,对于主题词列表中的每一个主题词做以下操作:i.通过对应文本集合的词表和停词表对该抽象文档中的每个主题词进行过滤;ii.记录好分类抽象文档频,令dfc(Cd)=dfc(Cd)+1。3)对于Vd中的每个词t′做如下操作,得到主题词及主题词‐分类对抽象文档频的记录:a)记录主题词的抽象文档频:令dft(Td)=dft(Td)+1;b)记录主题词‐分类对的抽象文档频:对于dfc,t(Cd×Td)的每一列定义列向量(分类词频)x,令x=x+e,其中e为单位向量。4)采用如下步骤获取经过调整的特征向量即主题特征:a)基于前述方法计算主题词的信息增益,对于属于主题分类树中的任意主题c,先判定所选中的主题c不是叶子结点,而且对应的抽象文档集合中的元素数量非空;倘若所选中的主题c不是叶子节点,则对于所有属于词表的主题词,获取dfc(Cc),计算以c为根的分类系统Cc的初始熵Entropy(Cc);b)然后获取dft(t)和dfc,t(Cc×[t]),计算在给定主题词t后Cc的条件熵Entropy(Cc|t),依照下述公式计算出IG(t),;IG(Tc)=Entropy(Cc)-Entropy(Cc|Tc);c)最后对于任意属于主题词表中的主题词t,选取IG(t)最大的前u个主题词,组成特征向量,添加入特征向量集合中去,最终得到整个特征向量的集合V。3.多标签分类技术;研究目的:针对文本主题的多义性,依赖多标签分类方法进行文本分类判别。研究背景:知识资源存在多主题特性。在基于主题分类树获得的文档集合划分中,任意文档从属于一个或多个确定的、可表述的主题,并同时从属于该主题的祖先主题。传统的单标签方法已经不适应于文本面向主题的分类,需要依赖多标签框架进行文本分类。在多标签分类框架下,每个对象由一个实例描述,该实例具有多个类别标记,通过该技术将所有合适的类别标记赋予未出现的实例。本发明的解决策略:在多标签分类框架下,每个对象由一个实例描述,该实例具有多个类别标记,最后将所有合适的类别标记赋予未出现的实例。采用基于多标签分类(multi-labelxa0classification,MLC)和标签排序(labelxa0ranking,LR)这两种模型相结合,同时完成标签的相关性的排序和评估。通过学习问题转化方法将一个多标签实例转化为一个或多个单标签实例;或者通过算法改造方法,将单标签学习算法进行扩展,获得可直接应用于多标签分类的算法。其中,布尔相关性(Binaryxa0Relevance,BR)算法将一个文档视为特征向量与标签集合的组合,对标签集合中的每个标签对训练一个分类器,基于投票思想进行标签相关性的预测,获得的结果是标签集合中每个标签与其相关性的二元组,在此基础上,将所有的结果作为输入,进行第二次BR预测,从而获得投票的效果,产生一个分类排序,排序的依据即为文档属于该标签的概率。为确保预测结果包含这一随机性质,本发明在进行主题划分模型设计时选用了多标签堆积算法(Multi-labeledxa0Stacking,MLS)。MLS在2BR算法的基础上通过对中间结果进行约减,在保证分类效果的同时充分提高了分类预测的效率。4.主题划分模型的构建与文档集合的划分研究目的:通过主题树与分类器集合之间的映射,构建分类器链,从而逐层对文本进行多标签分类的预测,对文档集合进行划分。问题背景:单标签分类器,不能适应知识资源存在多主题的特点,主题间的由继承性形成的树状层次结构不能在单标签分类中有效应用,需要将多标签分类与层次结构进行组合构建主题划分模型。本发明解决策略:主题划分模型构建的基本思想是:将与主题树每个主题对应的分类器集合进行组织,从而获取预测分类的概率排布。根据调整后的特征向量,以及主题的继承性和主题相关性,对于主题分类树C中节点,对应的主题特征集合V={vi|0≤i≤n},进行主题预测。其中,主题特征集合V可以通过信息增益算法作用于主题集合C和文档集合D来获得;信息增益算法用于确定权值,基于TF-IDF实现,对于主题c,由于fc(C,D,u,c)=vc,因而对所有非叶子节点选择的主题特征集合为V=f(C,D,u),u为特征向量的维度;定义L={li|0≤i≤n}为基于主题树C中任意节点c对应的特征向量vc及文档子集Dc训练的多标签分类器集合;F为主题划分模型的算子,即主题分类树C与分类器集合L的映射关系;主题划分模型的构建过程为:1)初始化:构建主题词表T,定义分类器集合L;2)调用基于信息增益的主题特征抽取算法,构建主题特征集合V=f(C,D);3)对于主题分类树C中的每一个主题c,利用信息增益算法对c的文档子集Dc中的所有文档抽取主题特征,生成主题特征的集合Vc,然后调用分类算法,基于Vc训练分类器lc,并将其添加至分类器集合L;4)构建主题分类树C与分类器集合L的映射关系,即主题划分模型F;由上述定义的L多标签分类器和主题划分模型构建算法可得第r层分类算子的分类操作为: C ^ r = F r ( d , f , u , L , C ^ r - 1 ) ]]>式中:d——待预测的文档;u——特征向量的维度;
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="48"/>——主题划分模型对文本预测的标签及其概率集合;基于上式,由于最后一层主题不必再次进行划分,因而只需预测至次底层,次底层分类集合的预测集合为
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="528"/>最后导出主题划分模型: C ^ = ∪ i = 0 h - 1 C ^ i = F ( d , f , u , L , C ) , ∀ ( c i , p i ) ∈ C ^ . s . t . c i ∈ C ( 0 ≤ i ≤ n ) ]]>式中:
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="52"/>——主题划分模型对文本预测的标签及其概率集合;h——主题分类树的高度;
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="58"/>——第i层预测结果;f——特征向量评估函数;u——特征向量维度;L——多标签分类器集合;pi——主题划分模型对文本预测的标签的概率;以上为主题划分模型的构建算法及其定义。在主题划分模型的算子F的定义中,F对Ch-1中的每一个主题类别
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="74"/>从C和T两个输入集合中选取对应的子主题集合、多标签分类器及局部特征向量,从而完成对文档的分类。模型最终输出对文档d预测的标签及概率集合,完成整个主题划分的过程。基于上述主题划分模型,以预测分类的排序为基础,通过多标签分类器的链式结构将主题划分模型的一条链组合起来,分类的预测从链的头部开始,至尾部结束,通过模型的构建获取主题划分模型的全部要素,进一步指导以下文档集合的划分。基于上述主题划分模型的构建及算法,d为待预测的文档,文档集合划分的方法如下:1)构建主题词表T,构建分类器集合L;2)根据主题分类树,设定起始预测层数r=1,第r-1层的预测分类集合为
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="107"/>则
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="404"/>即为第0层的预测分类集合,“+”号为分类体系的节点;3)对多标签分类进行递归预测:从第一层开始,对于0<r<h,第r层的分类预测过程如下:设定
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="171"/>对于
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="84"/>中的每一个分类
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="56"/>调用基于信息增益的主题特征抽取算法,构建
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="274"/>然后从分类器集合L中获取
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="40"/>的分类器lc;接着调用lc对vd进行预测分类,获得预测分类集合
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="90"/>其中i为特征向量中的第i个元素,最后将各层所得的预测分类集合统一起来即为最后的文档集合划分;5.基于域值的分区选取研究目的:研究满足用户文档召回率需求和控制分区索引的整体规模这两个条件的方法。问题背景:分区选取的本质是对主题的选取,在主题树下,预测集合只产生分类集合中元素的概率排序,而其本身并不对元素进行筛选。如果不对分类集合进行进一步筛选,则被预测的文档的预测集合将包含所有的分类,这直接导致主题分区检索系统本身失去存在的意义,因此需要对分类集合进行筛选;本发明的解决策略:在主题选取过程中,本发明采用阈值设定的方法来控制预测主题集合的规模,从而在满足用户文档召回率需求的条件下,控制分区索引的整体规模。在分区索引的构建和查询过程中,基于阈值的主题选取方法表现为对待索引文档或查询词的预测分类集合所对应的索引分区选取,此过程中对于分区的选取是索引构建及查询的前提条件,同时是主题划分模型在主题分区检索系统中的主要应用之一。在索引构建过程中,通过排除冗余主题的方法来保证准确率的前提下大大提高召回率。分区的选取步骤按如下进行:首先去除冗余主题,对于主题划分模型定义给出的预测分类集合中的每一个元素,查询主题树,获取其在主题是中的子节点集合,倘若预测分类集合与该子节点集合不为空,则判定该元素所在节点为冗余节点,从预测分类集合中删除;然后在进行完第一步之后,对于预测分了集合中的每一个主题,获取其中的概率,与阈值进行比较,倘若该概率比阈值大,则将该元素中的主题加入预测分类子集。最终得到的预测分类子集就为一个分区。6.分区索引的构建研究目的:通过构建分区索引,为文档分区构建索引块,完善主题分区检索系统。问题背景:索引构建是将文档按照设定的结构添加到索引文件的过程。分区索引要求文档被添加至预测分类对应的索引分区,同时控制分区索引整体规模的增长。本发明的解决策略:1)初始化全局信息:构建索引词表,存储抽象文档集合中出现的主题词,建立主题与索引模块之间的映射。2)初始化构建索引模块:对于主题分类树中的每一个主题都做如下操作:构建索引模块,然后调用索引模块,初始化索引写入器资源池、索引读取器资源池,以及索引查询器资源池,最后注册索引模块。3)生成与更新索引:读取每一个属于文档集合中的文档,转换为主题词流,对主题词中的每一个主题词做以下操作:执行前述特征获取方法,调用主题划分模型对该文档进行主题分类预测,获得预测集合,调用基于阀值的分区选取算法,对预测进行筛选,将表示该文档的索引项向量发送到对应的索引分区所在的索引模块,添加至选取的索引中;对于每一个选取的索引块,选取索引项中所有的本模块管理的分类,从索引写入器资源池中选择写入器,同时利用写入器将索引项添加至对应的索引分区。7.索引分区的优化研究目的:解决主题的时间变化及不同文档规模产生的不均衡性对主题分区索引性能的影响。问题背景:不同的主题在特定的时段中处于不同的活跃程度,这使得不同时期与该主题相关的资源存在不均衡性,对于不同的主题,与之相关的资源具有不同的规模,这也导致资源分布产生不均衡性,及影响分区检索系统的性能。本发明解决策略:其一,索引分区的分裂过程:1)初始化:构建两个经过分裂的分区,并初始化索引写入器资源池;同时构建原索引分区的读取器;2)读取原索引分区的索引项,进行基于话题模型的主题词抽取,对于原索引分区中每一个索引项,读取其当前索引项的内容,生成未降维的特征向量,应用基于话题模型的Latentxa0Dirichletxa0Allocation,(LDA)算法对该特征向量进行聚类,添加聚类标签;3)对于原索引分区中的每个索引项,从索引写入器资源池中选择当前索引项的标签对应于两个经过分裂的索引分区的索引写入器中,将索引项添加到其管理的索引分区;4)获取分裂后的两个索引分区,并选取索引模块,将分裂后的索引分区分发至该索引模块;5)最后更新控制模块的分区映射;其二,分区的聚合,具体聚合过程如下:1)初始化:对于主题及其负载的映射
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="156"/>中的每一个元素获取其负载值,与负载阈值进行比较,将负载值低于负载阈值的主题添加至一个临时列表中;2)选取临时列表中主题的最小负载分区,进行聚合:对于临时列表中的每一个元素,读取主题及其分区的映射Mappartition,获取该元素对应的分区列表,然后遍历该列表,接着读取索引分区及其负载的映射
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="199"/>获取n个负载的最小分区,将这n个分区合并为新的索引分区,然后删掉这n个分区;3)根据索引分区及其负载的映射
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="171"/>选取索引模块,将合并好的分区发送至该索引模块;4)更新控制模块中主题及其负载的映射
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="186"/>索引分区及其负载的映射
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="171"/>以及主题及其分区的映射Mappartition。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定专利保护范围。